home *** CD-ROM | disk | FTP | other *** search
- {****************************************************************
- * KILLDLPH *
- * ======== *
- * Autor: Rolf Frei *
- * Dorsstrasse 10 *
- * CH - 5736 Burg *
- * EMail-Adressen: CIS 100603.2154 *
- * Interent 100603.2154@compuserve.com *
- * *
- * V1.0 - 12.06.95 Erste freigegebene Version *
- * V1.1 - 19.08.95 Unterstⁿtzung von Programmparametern zur *
- * Uebergabe von Modul-Namen. *
- * V1.2 - 11.11.95 Einige zusΣtzliche Module der C/S-Version *
- * hinzugefⁿgt. (inkl. Informix-SQL-Links) *
- * V2.0 - 09.01.96 Dialoge zur Sicherheitsabfrage eingebaut. *
- * Ueberprⁿfung ob Delphi lΣuft und wieviel *
- * User bei IDAPI angemeldet sind. *
- * *
- * Aenderungen am Programm sind nur erlaubt, wenn diese *
- * mir gemeldet werden. Danke. *
- * *
- * Befehlszeile: *
- * KILLDLPH MODUL1 MODUL2 ... *
- * *
- * Wird das Programm ohne Argumente gestartet, werden *
- * die Standart-DLL's der Delphi-Desktopversion ge- *
- * l÷scht. *
- ****************************************************************}
-
- program KillDlph;
-
- uses
- WinTypes, WinProcs, SysUtils;
-
- var ModulHandle : THandle;
- i : Integer;
- DLL : Array [0..255] of Char;
- ModulUsage : integer;
- MesS : string[80];
- MesAC : Array[0..79] of Char;
-
- const BoxTitle: Array[0..30] of Char = 'Kill Deplhi DLL''s...';
-
- {$R KILLDLPH.RES}
-
- begin
-
- ModulHandle := GetModuleHandle('DELPHI');
- if ModulHandle <> 0 then
- if (MessageBox(0,'Delphi lΣuft noch, fortfahren?',BoxTitle,
- MB_YESNO+MB_ICONHAND+MB_DEFBUTTON2)<>IDYES) then
- Halt(1);
-
- {*** Uebergebene Module l÷schen ***}
- for i := 1 to ParamCount do
- begin
- repeat
- ModulHandle := GetModuleHandle(StrPCopy(DLL, ParamStr(i)));
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
- end;
-
- {*** Standart-Module der Desktop-Version l÷schen ***}
-
- repeat
- ModulHandle := GetModuleHandle('COMPLIB');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('DELPHIED');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('DELPHIKB');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('EPINT');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('EXPTDEMO');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('PASDBK16');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('RESINTF');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('W8LOSS');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('STDVCS');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('LDLLSQLW');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('SQLD_INF');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('VQBLIB');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
-
- {IDAPI-Module extra abfragen}
-
- ModulHandle := GetModuleHandle('IDAPI01');
- ModulUsage := GetModuleUsage(ModulHandle);
- if (ModulUsage > 0) then
- begin
- if (MessageBox(0,StrPCopy(MesAC,'Die IDAPI meldet '+IntToStr(ModulUsage)
- +' Benutzer, fortfahren?'),BoxTitle,
- MB_YESNO+MB_ICONHAND)<>IDYES) then
- begin
- MessageBox(0,'Alle Delphi-DLL''s sind gel÷scht, IDAPI lΣuft noch!',
- BoxTitle,
- MB_OK+MB_ICONINFORMATION);
- Halt(1);
- end;
- end;
-
- repeat
- ModulHandle := GetModuleHandle('IDAPI01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDR10007');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDR10009');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDR1000C');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('ILD01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
-
- repeat
- ModulHandle := GetModuleHandle('IDAPIQ01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDBAT01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDDBAS01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDPDX01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDASCI01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDODBC01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- repeat
- ModulHandle := GetModuleHandle('IDQRY01');
- if ModulHandle <> 0 then FreeModule(ModulHandle);
- until ModulHandle = 0;
-
- MessageBox(0,'Alle Delphi- und IDAPI-DLL''s sind gel÷scht!',BoxTitle,
- MB_OK+MB_ICONINFORMATION);
-
- END.
-